/*     */ package com.zimbra.cs.index;
/*     */ 
/*     */ import com.google.common.base.Objects;
/*     */ import com.google.common.base.Objects.ToStringHelper;
/*     */ import com.zimbra.common.service.ServiceException;
/*     */ import com.zimbra.cs.mailbox.Contact;
/*     */ import com.zimbra.cs.mailbox.MailItem;
/*     */ import com.zimbra.cs.mailbox.Mailbox;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public final class ContactHit
/*     */   extends ZimbraHit
/*     */ {
/*     */   private final int itemId;
/*     */   private Contact contact;
/*     */   
/*     */   public ContactHit(ZimbraQueryResultsImpl results, Mailbox mbx, int id, Contact contact, Object sortValue)
/*     */   {
/*  35 */     super(results, mbx, sortValue);
/*  36 */     this.itemId = id;
/*  37 */     this.contact = contact;
/*     */   }
/*     */   
/*     */   public MailItem getMailItem() throws ServiceException
/*     */   {
/*  42 */     return getContact();
/*     */   }
/*     */   
/*     */   public Contact getContact() throws ServiceException {
/*  46 */     if (this.contact == null) {
/*  47 */       this.contact = getMailbox().getContactById(null, getItemId());
/*     */     }
/*  49 */     return this.contact;
/*     */   }
/*     */   
/*     */   public int getConversationId()
/*     */   {
/*  54 */     return 0;
/*     */   }
/*     */   
/*     */   public int getItemId()
/*     */   {
/*  59 */     return this.itemId;
/*     */   }
/*     */   
/*     */   void setItem(MailItem item)
/*     */   {
/*  64 */     this.contact = ((Contact)item);
/*     */   }
/*     */   
/*     */   boolean itemIsLoaded()
/*     */   {
/*  69 */     return this.contact != null;
/*     */   }
/*     */   
/*     */   public String getName() throws ServiceException
/*     */   {
/*  74 */     if (this.cachedName == null) {
/*  75 */       this.cachedName = getContact().getSortName();
/*     */     }
/*  77 */     return this.cachedName;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public Object getSortField(SortBy sort)
/*     */     throws ServiceException
/*     */   {
/*  87 */     Object sortField = super.getSortField(sort);
/*  88 */     if (((sortField == null) || ("".equals(sortField.toString()))) && (sort != null)) {
/*  89 */       switch (sort) {
/*     */       case NAME_ASC: 
/*     */       case NAME_DESC: 
/*     */       case NAME_LOCALIZED_ASC: 
/*     */       case NAME_LOCALIZED_DESC: 
/*  94 */         sortField = getName();
/*     */       }
/*     */     }
/*  97 */     return sortField;
/*     */   }
/*     */   
/*     */   public String toString()
/*     */   {
/*     */     try {
/* 103 */       return Objects.toStringHelper(this).add("id", getItemId()).add("conv", getConversationId()).add("contact", getContact()).addValue(super.toString()).toString();
/*     */ 
/*     */ 
/*     */     }
/*     */     catch (ServiceException e)
/*     */     {
/*     */ 
/* 110 */       return e.toString();
/*     */     }
/*     */   }
/*     */ }


/* Location:              /home/mint/zimbrastore.jar!/com/zimbra/cs/index/ContactHit.class
 * Java compiler version: 7 (51.0)
 * JD-Core Version:       0.7.1
 */